/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ssm.changeunit.persistance;

import java.util.*;

/**
 *
 * @author 시리우스
 */
public abstract class AbstractChangeUnitBranchDAO extends AbstractDAO {
    /**
     * 검색
     * 
     * @param changeUnitId
     * @return
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract List<ChangeUnitBranchDTO> findByChangeUnitId(String changeUnitId) throws PersistanceException;

     /**
     * 검색
     * 
     * @param branchName
     * @return
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract List<ChangeUnitBranchDTO> findByBranchName(String branchName) throws PersistanceException;
    
    public abstract List<ChangeUnitBranchDTO> list() throws PersistanceException;
    
    /**
     * 삽입
     * 
     * @param tagDTO
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void insert(ChangeUnitBranchDTO changeUnitBranchDTO) throws PersistanceException;
    
    /**
     * 업데이트
     * 
     * @param tagDTO
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void update(ChangeUnitBranchDTO changeUnitBranchDTO) throws PersistanceException;
    
    /**
     * 삭제
     * 
     * @param tagName
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void delete(String changeUnitId) throws PersistanceException;
    
    /**
     * 삭제
     * 
     * @param branchName
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void deleteByBranchName(String branchName) throws PersistanceException;
    
    public abstract void deleteByChangeUnitId(String changeUnitId) throws PersistanceException;
}
